Computer screens and other two-dimensional (2D) surfaces are commonly used for displaying 2D visual content such as a page of text, a diagram or a website page. Some forms of visual content contain two or more content forms, such as a page consisting of text and diagrams, or a website page containing information related to the site and unrelated advertising. Usually, only one page is displayed on a screen at a time and the page is confined to the boundaries of the screen. The different elements in a page must therefore compete with each other for space and the viewer's attention, even if they are related to each other. Existing website pages are therefore generally overcrowded by advertising and this is the major reason why Internet advertising is considered ineffective.
When pages are displayed in this way, changing a displayed page (known as browsing or navigating) is a discontinuous process wherein an initially displayed page is removed from the screen and a second page is subsequently displayed. The ability to view only one page at a time makes it difficult for a viewer to know his location at a website and also creates uncertainty while navigating through the site. Changes in the size of a page are also done in discrete steps, and a return to the browser is required for each step change.
An alternative method for displaying visual content on a screen involves arranging several pages in a virtual three-dimensional (3D) space and projecting a portion of the 3D space onto a 2D surface. With this method of displaying visual content, a viewer may continuously navigate from page to page. Methods of displaying visual content in a three dimensional space, and browsing the visual content in the space are disclosed, for example, in Applicant's copending US 20020176636, Robertson et al (Data Mountain: using Spatial memory for document Management), and Robertson et al (Task Gallery: a 3D Window Manager)
Several projections are known for projecting the 3D space onto the 2D surface Applicant's US 20020176636, for example, discloses projecting the 3D space onto a viewing surface using a single perspective projection. In this case, visual content is positioned in the 3D space with at least one page positioned in a plane, referred to as the “base plane”. A viewpoint and a viewing ray having a vertex at the viewpoint are selected from which to view a portion of the 3D space, including a portion of the base plane. Once the viewing ray has been selected, the viewing surface is positioned in the 3D space so that it intersects the viewing ray at a predetermined distance from the viewpoint. The viewpoint and viewing surface define a pyramid consisting of the set of rays having the viewpoint as vertex and passing through a point on the edge of the viewing surface. The portion of the 3D space located in the frustum of the pyramid determined by the viewing surface (referred to as the “viewing space”) is perspectively projected onto the viewing surface. The projection of the 3D space onto the viewing surface is then displayed on a display device such as a computer screen, television or a head mounted display for stereo viewing.
Browsing the visual content in the 3D space involves changing the view of the 3D space, so as to make the visual content more amenable to viewing. This is typically done by the user using a computer input device, such as, mouse or keyboard. Applicant's US 20020176636 discloses changing the perspective continuously (for example 20 to 30 times per second). Continuously changing the perspective creates an impression of smooth gliding through the 3D space over the base plane. The user may zoom into a page for closer inspection, or zoom out from a page.
Moving the view point in a 3D virtual space towards a target point in the 3D space is referred to herein as “zooming in” on the target point. Moving the view point in the 3D space away from a target point in the 3D space is referred to herein as “zooming out” from the target point. As used herein, the term “zooming” includes zooming in and zooming out. Zooming requires generating a zoom path between the target point and a predetermined viewpoint.